The invention generally relates to wireless time division duplex (TDD) communication systems using code division multiple access (CDMA). In particular, the invention relates to processing data at the physical layer for such systems.
In CDMA communication systems, communications are transmitted in the same frequency spectrum over a wireless air interface, distinguished by their channelization codes. To further increase the utilization of the spectrum, CDMA/TDD communication systems time divide the spectrum into repeating frames having a fixed number of time slots, such as fifteen (15) time slots per frame. In TDD, each time slot is only used exclusively for the uplink or downlink.
Prior to transmission, data for transfer over the air interface is processed by the Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (UTRAN). A simplified wireless communication system is illustrated in FIG. 1. Wireless users (user equipments) 381-38N (38) communicate with base stations 361-36N (36). Typically, a Node-B 341-34N (34) controls a group of base stations 36. A radio network controller (RNC) 321-32N (32) controls a group of Node-Bs 34. The RNCs 32, Node-Bs 34 and other associated components are part of the UTRAN 30. The UTRAN 30 communicates to other users through the core network 40.
Data processing within the UTRAN 30 is standardized, such as by the third Generation Partnership Project (3GPP), UMTS terrestrial radio access (UTRA) TDD system. The UTRAN 30 processes transport channels for transfer over the air interface. FIG. 2 is a block diagram of this UTRAN processing.
Transport blocks arrive for transport over the air interface. The transport blocks arrive in sets (transport block sets). The sets are received in a specified time interval (transmission time interval (TTI)). For 3GPP UTRA TDD, the possible TTI lengths are 10 ms, 20 ms, 40 ms and 80 ms, which correspond to 1, 2, 4 and 8 radio frames. respectively.
A circular redundancy code (CRC) attachment block 42 attaches CRC bits to each transport block. The CRC bits are used for error detection at the receiver. The CRC bit length is signaled from higher layers.
The transport blocks (TrBks) are serially concatenated by the TrBk concatenation/code block segmentation block 44. If the number of bits of the concatenated blocks is larger than the maximum size allowed for a code block, the concatenated blocks are segmented. The size of the code blocks is based on the type of error correction coding to be used, such as convolutional coding (maximum of 504 bits), turbo coding (maximum of 5114 bits) or no coding (unlimited). The concatenated blocks are segmented into a minimum number of equal sized segments (code blocks). If the original number of concatenated bits is not an even multiple of the minimum number of segments, filler bits are used to assure the segments are of equal size.
A channel coding block 46 error correction encodes the code blocks, such as by convolutional coding, turbo coding or no coding. After encoding, the code blocks are concatenated together. If the concatenated code blocks can not be segmented into a minimum number of equal sized segments (frames), Radio Frame equalization is performed by concatenating additional arbitrary bits.
A first interleaver 48 interleaves all the concatenated data. Subsequently, the interleaved data is segmented into radio frames by a radio frame segmentation block 50. A rate matching block 52 punctures or repeats bits. The puncturing and repeating assures data transmitted on each physical channel (resource unit) equals the maximum bit rate for that channel. The rate matching attributes for each transport channel (TrCH) is signaled by higher layers.
The TrCH multiplexing block 54 receives one frame's data for each transport channel. The received data for each TrCH is serially multiplexed onto a coded composite transport channel (CCTrCH). A bit scrambling block 56 scrambles the CCTrCH bits.
A physical channel block 58 maps the scrambled data onto the physical channels. A second interleaver 60 interleaves the scramble data over the entire radio frame or over each time slot. Higher layers dictate the type of interleaving utilized. After second interleaving, the interleaved data is segmented into the physical channels for transport over the air interface by a physical channel mapping block 62. The physical channel data is subsequently transmitted, such as from a base station 36 or UE 38. At the receiver, such as at a UE 38 or base station 36, the same process is performed in reverse to recover the transmitted data.
To process data as shown in FIG. 2, various levels of buffering (buffers 64, 66, 68, 70, 72) are required, such as after the first interleaver 48, the rate matching block 52, the transport channel multiplexing block 68, the bit scrambling block 56 and the second interleaver 60. This extensive buffering is undesirable. It requires heavy memory utilization and additional application specific integrated circuit (ASIC) space for memory to accommodate the buffering.
Accordingly, it is desirable to have alternate data processing schemes.